<?php

class Actividad extends BaseActividad
{
	public function getCriticas()
	{
		$con = Propel::getConnection();
		$stmt = $con->prepare("SELECT A.id as id, E.especificacion as especificacion,A.descripcion as 
		descripcion, R.primer_nombre as nombre, R.primer_apellido as apellido FROM actividad A, 
		recurso R, requerimiento E WHERE E.id=A.requerimiento_id and R.id=A.recurso_id and 
		A.pendiente=true and A.proyecto_id= ? ");
		$stmt->bindValue(1, $this ->getProyectoId());
		$stmt->execute();
		$tabla="";	
		while($fila = $stmt->fetch()) 
		{
				$tabla.= "<tr><td>". $fila['especificacion']."</td><td>". $fila['descripcion']."</td>
				<td>".$fila['nombre']." ".$fila['apellido']."</td></tr>";
		} 	
		return $tabla;
	}
	
	public function getTabla()
	{
		$con = Propel::getConnection();
		$stmt = $con->prepare("SELECT A.id as id, A.descripcion as descripcion, R.primer_nombre as 
		nombre, R.primer_apellido as apellido FROM actividad A, recurso R WHERE R.id=A.recurso_id and 
		A.requerimiento_id=? and A.proyecto_id= ? ");
		$stmt->bindValue(1, $this ->getRequerimientoId());
		$stmt->bindValue(2, $this ->getProyectoId());
		$stmt->execute();
		$tabla="";	
		while($fila = $stmt->fetch()) 
		{
				$tabla.= "<tr><th><input type=\"radio\" name=\"RadioGroup1\" value=".$fila['id'].">
				</th><td>". $fila['descripcion']."</td><td>".$fila['nombre']." ". $fila['apellido']."
				</td></tr>";
		} 	
		return $tabla;
	}
	
	public function getTabla1()
	{
		$con = Propel::getConnection();
		$stmt = $con->prepare("SELECT A.id as id, A.descripcion as descripcion, R.primer_nombre as 
		nombre, R.primer_apellido as apellido, A.tiempo_ini_estimado as  ini_estimado,
		A.tiempo_fin_estimado as fin_estimado FROM actividad A, recurso R WHERE R.id=A.recurso_id and 
		A.requerimiento_id=? and A.proyecto_id= ? ");
		$stmt->bindValue(1, $this ->getRequerimientoId());
		$stmt->bindValue(2, $this ->getProyectoId());
		$stmt->execute();
		$tabla="";	
		while($fila = $stmt->fetch()) 
		{
				$tabla.= "<tr><th><input type=\"radio\" name=\"RadioGroup1\" value=".$fila['id'].">". 
				$fila['id']."</th><td>". $fila['descripcion']."</td><td>".$fila['nombre']." ". $fila[
				'apellido']."</td><td>". $fila['ini_estimado']."</td><td>".$fila['fin_estimado']."
				</td></tr>";				
		} 	
		return $tabla;
	}
	
	public function getTabla2($i)
	{
		$con = Propel::getConnection();
		$stmt = $con->prepare("SELECT A.id as id, A.requerimiento_id as requerimiento_id,
		E.especificacion as especificacion,
		A.descripcion as descripcion, 
		R.primer_nombre as nombre, 
		R.primer_apellido as apellido, 
		A.tiempo_ini_estimado as  ini_estimado,
		A.tiempo_fin_estimado as fin_estimado, 
		A.tiempo_ini_real as  ini_real,
		A.tiempo_fin_real as fin_real
		FROM actividad A, recurso R, ite_req I, requerimiento E WHERE R.id=A.recurso_id and 
		E.id= A.requerimiento_id and A.requerimiento_id=I.requerimiento_id and I.iteracion_id=? and 
		I.proyecto_id= ? ");
		$stmt->bindValue(1, $i);
		$stmt->bindValue(2, $this ->getProyectoId());
		$stmt->execute();
		$tabla="<table border=\"0\" class=\"table_style\" >";
		$id="";
		while($fila = $stmt->fetch()) 
		{
		if ($id==$fila['requerimiento_id'])
		{			
			$tabla.= "<tbody><tr><td><input type=\"radio\" name=\"RadioGroup2\" value=".$fila['id'].
			"></td><td>". $fila['descripcion']."</td><td>".$fila['nombre']." ". $fila['apellido']."
			</td><td>". $fila['ini_estimado']."</td><td>".$fila['fin_estimado']."</td><td>". $fila[
			'ini_real']."</td><td>".$fila['fin_real']."</td></tr></tbody>";
		}else 
		{	
			$id=$fila['requerimiento_id'];
			$tabla.= "<thead><tr><th><input type=\"radio\" name=\"RadioGroup1\" value=".
			$fila['requerimiento_id']."></th><th colspan=\"6\">". $fila[
			'especificacion']."</th></tr></thead>";
			
		    $tabla.="<tbody><tr><th width=\"20\"></th><th width=\"360\">Actividad</th><th 
			width=\"120\">Encargado</th><th width=\"70\">Inicio Estimado</th><th 
			width=\"70\">Fin Estimado</th><th width=\"70\">Inicio Real</th><th width=\"70\">Fin 
			Real</th></tr>";
			$tabla.= "<tr><td><input type=\"radio\" name=\"RadioGroup2\" value=".$fila['id'].
			"></td><td>". $fila['descripcion']."</td><td>".$fila['nombre']." ". $fila['apellido']."
			</td><td>". $fila['ini_estimado']."</td><td>".$fila['fin_estimado']."</td><td>". $fila[
			'ini_real']."</td><td>".$fila['fin_real']."</td></tr></tbody>";
		}			
		} 	
		return $tabla."</table>";
	}
	
	public function eliminarRegistro()
	{
	    $con = Propel::getConnection();
	    $stmt = $con->prepare("DELETE FROM actividad WHERE proyecto_id= ? and requerimiento_id= ? and 
		id=?");
	    $stmt->bindValue(1, $this->getProyectoId());
		$stmt->bindValue(2, $this->getRequerimientoId());
		$stmt->bindValue(3, $this->getId());
	    $stmt->execute();		
	}
	
	public function UpdateRegistro($id, $dia, $mes, $ano,$horas)
	{
	    $con = Propel::getConnection();
		$this->setTiempoIniEstimado($dia.'-'.$mes.'-'.$ano);
		$this->setTiempoFinEstimado($this->calcularFecha($dia, $mes, $ano,$horas));
	    $stmt = $con->prepare("UPDATE actividad 
		SET tiempo_ini_estimado=?, tiempo_fin_estimado=?, horase=? WHERE
		proyecto_id= ? and requerimiento_id= ? and id=?");
		$stmt->bindValue(1, $this->getTiempoIniEstimado());
		$stmt->bindValue(2, $this->getTiempoFinEstimado());
		$stmt->bindValue(3, $horas);
	    $stmt->bindValue(4, $this->getProyectoId());
		$stmt->bindValue(5, $this->getRequerimientoId());
		$stmt->bindValue(6, $id);
	    $stmt->execute();		
	}
	
	public function UpdateRegistrop($id)
	{
	    $con = Propel::getConnection();
	    $stmt = $con->prepare("UPDATE actividad SET pendiente=true, terminada=false WHERE 
		proyecto_id= ? and requerimiento_id= ? and id=?");
	    $stmt->bindValue(1, $this->getProyectoId());
		$stmt->bindValue(2, $this->getRequerimientoId());
		$stmt->bindValue(3, $id);
	    $stmt->execute();		
	}
	
	public function UpdateRegistro1($id, $dia, $mes, $ano,$horas)
	{
	    $con = Propel::getConnection();
		$this->setTiempoIniEstimado($dia.'-'.$mes.'-'.$ano);
		$this->setTiempoFinEstimado($this->calcularFecha($dia, $mes, $ano,$horas));
	    $stmt = $con->prepare("UPDATE actividad SET tiempo_ini_real=?, tiempo_fin_real=?, horasr=?,
		pendiente=false, terminada=true WHERE proyecto_id= ? and requerimiento_id= ? and id=?");
		$stmt->bindValue(1, $this->getTiempoIniEstimado());
		$stmt->bindValue(2, $this->getTiempoFinEstimado());
		$stmt->bindValue(3, $horas);
	    $stmt->bindValue(4, $this->getProyectoId());
		$stmt->bindValue(5, $this->getRequerimientoId());
		$stmt->bindValue(6, $id);
	    $stmt->execute();		
	}

    public function eliminarRegistro1($id)
	{
	    $con = Propel::getConnection();
	    $stmt = $con->prepare("DELETE FROM actividad WHERE proyecto_id= ? and requerimiento_id= ? and 
		id=?");
	    $stmt->bindValue(1, $this->getProyectoId());
		$stmt->bindValue(2, $this->getRequerimientoId());
		$stmt->bindValue(3, $id);
	    $stmt->execute();	
	}	
	
	public function calcularFecha($dia, $mes, $ano,$horas)
	{
	if (fmod ($horas,8)==0) $horase=floor($horas/8)-1;
	else $horase=floor($horas/8); 
	$mes1=$mes;
	$ano1=$ano;
		if ($horase>0)
		{
			if (($mes1==1) or ($mes1==3) or ($mes1==5) or ($mes1==7) or 
			($mes1==8) or ($mes1==10) or ($mes1==12))
			{
				if (($dia+$horase)>31) 
				{
					$this->dia1=$horase;
						if (!($mes1==12)) 
						{
						$mes1=$mes+1;
						$ano1=$ano;
						}
						else 
						{
						$mes1=1;
				  		$ano1=$ano+1;
						}
				}
				else $dia1=$dia+$horase;
			}
			else
			{
				if(($mes1==2))
				{
				  $bisiesto=$ano%4;
				  	if ($bisiesto==0) $dias=29;
					else $dias=28;
					if (($dia+$horase)>$dias) 
					{
						$dia1=$horase;	
						$mes1=$mes+1;
						$ano1=$ano;
					}else
					{
						$dia1=$dia1+$horase;	
						$mes1=$mes;
						$ano1=$ano;
					}						
				}
				else
				{
					if (($dia+$horase)>30) 
					{
						$dia1=$horase;
						$mes1=$mes+1;
						$ano1=$ano;
					}
					else $dia1=$dia+$horase;
				}
			}	
		}
	else
	{
	$dia1=$dia;
	$mes1=$mes;
	$ano1=$ano;
	}
	return 	$dia1."-".$mes1."-".$ano1;
	}
	
    public function Existe_Actividad($proyecto_id,$requerimiento_id,$nombre)
	{
	    $con = Propel::getConnection();
	    $stmt = $con->prepare("select * FROM actividad WHERE proyecto_id=? and requerimiento_id=? and 	
		descripcion=?");
	    $stmt->bindValue(1, $proyecto_id);
		$stmt->bindValue(2, $requerimiento_id);
		$stmt->bindValue(3, $nombre);
	    $stmt->execute();
		$i=false;
		while($fila = $stmt->fetch()) 
		{
		$i=true;
		}
		return $i;		
	}
	
}
